package com.lagou.sqlSession;

import com.lagou.pojo.Configuration;
import com.lagou.pojo.MappedStatement;

import java.sql.SQLException;
import java.util.List;

/**
 * @author stevejson
 */
public interface Executor {
    /**
     *  query
     * @param configuration  配置信息
     * @param mappedStatement sql信息
     * @param params      参数
     * @param <E>    返回类型
     * @return    结果集
     * @throws Exception  错误
     */
    public <E> List<E> query(Configuration configuration, MappedStatement mappedStatement, Object ... params) throws Exception;

    /**
     * 增删改查类操作
     * @param configuration  配置信息
     * @param mappedStatement  sql信息
     * @param params     参数
     * @return    影响行数
     * @throws Exception  错误
     */
    public int update(Configuration configuration, MappedStatement mappedStatement, Object ... params) throws Exception;
}
